Shakib, who is already the national Twenty20 captain, takes over the Test side after a disastrous tour of South Africa in a move that the cricket board said would allow Mushfiqur to focus on his batting.
"We have decided to change the Test captain. Shakib will be our new Test skipper from the upcoming series and Mahmudullah will be the vice-captain of the side," Bangladesh Cricket Board president Nazmul Hasan told reporters in Dhaka following a Board of Directors' meeting.
"There will be no change in the other formats," he said.
Mushfiqur led Bangladesh in 34 Tests since 2011, guiding them to some remarkable wins over England, Sri Lanka and Australia since last year.
But the wicketkeeper-batsman fell from grace after a disastrous tour in South Africa where Bangladesh lost both Tests by heavy margins.
Hasan said the decision to remove Mushfiqur as Test captain was taken as they wanted him to concentrate on his batting.
"We want best batting service from Mushfiqur. We want him to concentrate on his batting, want to free him from pressure," he said.
Shakib, who took the helm of the national Twenty20 side from Mashrafe Mortaza in South Africa, takes charge of the Test squad for the second time, having led the side in nine Tests between 2009 and 2011.
Tamim Iqbal was removed as vice-captain of the Test side but Hasan said the opening batsman would continue as Shakib's deputy in the Twenty20 squad.
Mortaza remained at the helm of one-day international side but the BCB president indicated they would make a few other changes in near future.
"Overall, we are willing to make a plan for next four to five years and the decision is just the beginning of the new plans," he said.
Bangladesh faced a huge backlash at home after they failed to win a single match in any format during their South Africa tour.
Coach Chandika Hathurusingha resigned in the middle of the series but Bangladesh was yet to name his successor.
The BCB interviewed English-born South African coach Richard Pybus earlier this week and former West Indies coach Phil Simmons on Sunday for the post but did not confirm any appointment.
Bangladesh are scheduled to play a tri-nation One-Day International tournament involving Sri Lanka and Zimbabwe in January before hosting the Sri Lankans for the two-Test series and as many Twenty20 internationals.
First Published: December 10, 2017, 9:05 PM IST