Fast bowler Mortaza sustained the injury during the team's final net session at the Sher-e-Bangla stadium in Dhaka, with Bangladesh set to depart for Sri Lanka on Saturday.
Opening batsman Tamim Iqbal has been named captain for the three-match ODI series, which begins on July 26 in Colombo.
"Mortaza injured his left hamstring during training today," BCB senior physician Dr Debashis Chowdhury said in a statement.
"It is a recurrent injury that could take around three to four weeks to recover from. Therefore, he is ruled out from participation in sporting activity for a month."