Police say the man, identified as Piero Parolari, works as a doctor in a hospital run by Christian missionaries.
He was attacked while cycling after morning prayers in north-west Dinajpur district, reports say. His condition is said to be serious but stable.
No group has said it carried out the attack, the third on foreigners in Bangladesh in under two months.
An Italian aid worker was killed in September and a Japanese citizen in October.
Both attacks were claimed by the Islamic State group but the government blamed the killings on local militants.
"Riding a motorcycle, unidentified attackers shot an Italian near the Dinajpur bus station in the morning," police told AFP news agency. The assailants escaped.
A local auto rickshaw driver told Reuters: "No one was attending to him, so with the help of two other people I rushed him to the hospital."
Mr Parolari is a 78-year-old doctor and has lived and worked in Bangladesh for 25 years, reports the bdnews24.com website.
Attacks on foreigners in Bangladesh are rare, but Islamist violence has surged recently.
Extremists have carried out a series of high-profile attacks on secular writers, hacking to death four bloggers - one a US citizen - so far this year.
A 24 October bomb attack on Shia Muslims in Dhaka killed one person and wounded at least 80 others.
Gunmen have wounded an Italian priest in the latest in a series of attacks on foreigners in Bangladesh.