The injury-hit tourists, with seven players having three or fewer Tests to their name, were bowled out in the last over of the day when Tim Southee grabbed his fifth wicket.
After being put into bat on a standard New Zealand green surface, Bangladesh were ready to punish anything short or wide on a pitch which offered swing but not extreme pace.
Their willingness to search for runs resulted in early casualties when senior batsmen Tamin Iqbal (five) and Mahmudullah (19) were removed inside 11 overs to be 38-2.
In his previous three Tests in 2015, Soumya had batted at six or seven with a best score of 37.
More From This Section
His recall and elevation to opener came as injuries kept Imrul Kayes, Mushfiqur Rahim, and Mominul Haque, and a combined 98 Tests worth of experience, out of the match.
In their place were Soumya for his fourth Test and debutants Nurul Hasan and 18-year-old Nazmul Hossain with the fledgling trio all featuring well in the innings.
Trent Boult claimed Soumya's wicket after lunch to start a New Zealand counter-attack which produced three wickets for 14 runs in 16 deliveries to have Bangladesh at 179-5.
He removed Sabbir Rahman for seven while Shakib, coming off a double century and a duck in the first Test, reached 59 before he fell to Southee.
Test newcomers Nurul and Nazmul then mounted the second rescue mission as they defied New Zealand's established bowling line-up with a 53-run partnership.
Nurul had a charmed life being dropped on two and 36 while an edge on 25 went between first and second slip leaving Ross Taylor and Jeet Raval staring at each other and neither moving.
He batted for nearly three hours before he was caught behind to give BJ Watling his fifth catch and Trent Boult his fourth wicket.
Rubel Hossain, who was struck on the helmet grille and the elbow of his bowling arm, was not out 16 at the close.