"Shami sustained a shoulder injury during a training session in the lead-up to the ODI series against Bangladesh," the visiting team said in a statement a day before the series gets underway in Dhaka on Sunday.
Malik is an exciting pace prospect who has played three one-dayers and as many T20 Internationals since making his India debut this year.
Bangladesh have had their own injury concerns with regular ODI captain Tamim Iqbal missing the series with a groin injury.
Litton Das will captain the home side who will also miss the service of Taskin Ahmed in Sunday's match after the seamer sustained a back injury.
Rohit Sharma and his men are also scheduled to play two tests in Bangladesh.