Shakib will miss the second Test starting Thursday in Dhaka after he failed to recover from a finger injury that kept him out of the opening match.
Sabbir, who played 10 Tests to score 480 runs at an average of 26.66, was ignored for the first game after he failed to live up to expectations in the one-day tri-series last month.
Mominul hits record ton in bore draw
The two-Test series remained locked at 0-0 after the first match ended in a draw in Chittagong on Sunday.
"The wicket of Dhaka is much different than Chittagong. So we thought an extra batsman might be useful. This is why we included Sabbir," said chief selector Minhajul Abedin.
The home side dropped left-arm spinner Sunzamul Islam and pace bowler Rubel Hossain but retained Abdur Razzak and uncapped off-break bowler Naeem Hasan in the 15-man squad.
Sunzamul claimed just one wicket in the just-concluded Test, giving away 153 runs in his 45 overs in Sri Lanka's only innings.
Rubel did not play the first Test.
Mahmudullah Riyad will continue as captain in the absence of regular skipper Shakib.
Bangladesh Squad
Mahmudullah Riyad (c), Tamim Iqbal, Liton Das, Mushfiqur Rahim, Mominul Haque, Imrul Kayes, Mosaddek Hossain, Taijul Islam, Mustafizur Rahman, Mehedi Hasan, Kamrul Islam, Sabbir Rahman, Abdur Razzak, Naeem Hasan, and Tanbir Hayder.
COMMENTS
Comments are moderated and generally will be posted if they are on-topic and not abusive.
For more information, please see our Comments FAQ