The Tamim Iqbal-led squad had no place for allrounder Mosadeek Hossain, pacer Shoriful Islam and spinner Taijul Islam. Meanwhile, the middle-order batter Yasir Ali returned to the ODI fold after a gap of eight months while Ebadot Hossain kept his place from Bangladesh's last ODI series against Zimbabwe in August.
Former skipper Mushfiqur Rahim, who recently announced his T20I retirement, was also named in the squad alongside top-order batter Anamul Haque, Litton Das and Najmul Hossain Shanto. Shakib's inclusion also meant there was no place for left-arm spinner Nasum Ahmed.
"We included Mosaddek in the tour of Zimbabwe for the ODIs as we did not have Shakib. As he returned in the 50-over fold, we opted to drop him," BCB chief selector Minhajul Abedin told Cricbuzz on Thursday.
The series will not be a part of the CWC Super League. India and Bangladesh will play the first two matches at the Shere Bangla Stadium in Dhaka on December 4 and 7 while Chattogram will host the final ODI on December 10.
India will also play two Tests with the first set to be played in Chattogram from December 14-18 and the second in Dhaka from December 22-26.
Bangladesh ODI squad for India series:
Tamim Iqbal (C), Litton Das, Anamul Haque, Shakib Al Hasan, Mushfiqur Rahim, Afif Hossain, Yasir Ali, Mehidy Hasan, Mustafizur Rahman, Taskin Ahmed, Hasan Mahmud, Ebadot Hossain, Nasum Ahmed, Mahmudullah, Najmul Hossain Shanto, Nurul Hasan.