Paul Stirling's century William Porterfield’s 94 were insufficient to prevent Bangladesh beating Ireland by six wickets in a tri-series ODI in Dublin.
Stirling smashed eight fours and four sixes in his 130 from 141 balls.
The opener added 174 with Porterfield, the key stand in an Ireland total of 292 for eight.
But Bangladesh's Abu Jayed took five for 58, denying Ireland of a truly competitive score.
And Irish hopes of a consolation win ahead of Sunday's final between Bangladesh and the West Indies were wiped off as Bangladesh chased down the total with seven overs to spare.
Tamim Iqbal and Liton Das put on 117 for the first wicket in reply.
Both batsmen went past fifty, with Tamim making 57 before he was bowled by Boyd Rankin while Das made 76 before succumbing to Barry McCarthy.
Shakib kept the early momentum going with a fluent half-century but had to retire hurt with a side injury.