With the pitch expected to deteriorate, this total already looked daunting for the West Indies given their vulnerability against quality spin.
Shadman, the opener, made a patient 76, then captain Shakib held the innings together and established Bangladesh's dominance in an unbroken 69-run stand with Mahmudullah over the last 23 overs.
Shakib was 55 not out from 113 balls, and Mahmudullah 31 not out off 59. Both hit only one boundary.
Shakib opted to bat first, as Bangladesh played without a frontline pacer for the first time.
On a pitch that had little to offer for the fast bowlers, the West Indies spinners bowled 63 overs.
Haque, a centurion in the previous test, made 29 off 46, hitting two boundaries.
Shadman then received support from Mohammad Mithun, and they combined for a 64-run stand for the third wicket.
Shadman brought up his fifty with a sweep past square leg for a boundary off left-arm spinner Jomel Warrican. It took him 147 balls.
He and Mithun were out to legspinner Devendra Bishoo, who bowled Mithun on 29 and got Shadman leg before wicket.
By the time Shadman was out, he had faced a national record of 199 deliveries on debut, eclipsing opener Javed Omar Belim's record of 138 balls in 2001 against Zimbabwe.
Shadman's 76 was no surprise. He made 73 against the West Indies for a Bangladesh Cricket Board XI in a warm-up game. In the last two months, he has two centuries and seven half-centuries in first-class cricket.
Fast bowler Shermon Lewis moved the ball admirably on the dry pitch to get the better of Mushfiqur Rahim on 14, raising hope of clawing back Bangladesh.
But Shakib and Mahmudullah kept up Bangladesh's patient momentum, as they seek out a series victory.