The home side reached 96-3 at lunch in Dhaka with Tamim 33 not out and Shakib on 48, both playing the 50th Test of their careers.
Bangladesh captain Mushfiqur Rahim won the toss and opted to bat at the rain-soaked Sher-e-Bangla National Stadium, only to find Cummins embarking on a fierce spell of fast bowling.
Cummins struck in his first over when he dismissed Soumya Sarkar for eight, beating the left-hander with a short-pitched ball that took an edge and flew to Peter Handscomb at gully.
Imrul attempted a drive without moving his feet and got an inside edge that was taken comfortably by wicketkeeper Mathew Wade.
More From This Section
The next ball swung late to find the thick edge of Sabbir's bat, with the decision upheld after a futile review of the on-field decision by umpire Aleem Dar.
Tamim lofted Nathan Lyon for a six over extra cover as he grew in confidence as he built a partnership with Shakib, who also played a few bold strokes.
Nasir Hossain was recalled for his first Test appearance for two years, having last played against South Africa in 2015.
All-rounder Ashton Agar returned to Australian Test team after four years while the visitors also drafted in batsman Usman Khawaja.