Rubel last played for the national team during the home series against Afghanistan in September.
Rubel last played for the national team during the home series against Afghanistan in September, but he was left out of the ensuing series against England after struggling for form.
He was also overlooked for the New Zealand tour when an initial 22-member squad was announced last month, but his strong showing in a domestic T20 tournament has prompted a change of mind by selectors.
"After a long injury break he was struggling with his form and fitness so we wanted him to get back his rhythm by playing in domestic competitions," said selector Minhajul Abedin.
Rubel was one of the stand-out players in the ongoing Bangladesh Premier League, taking 15 wickets in 12 matches, before his Rangpur Riders team were eliminated in the league phase.
Shahid was among the leading wicket-takers in the BPL until a knee injury ruled him out of the tournament and the New Zealand tour.
Bangladesh will play three one-day internationals, three Twenty20 internationals and two Tests in New Zealand from December 26 through January 24 in their first bilateral overseas series in more than two years.
Prior to the series they will hold a two-week training camp in Australia as part of their preparations.