"The first round of the tournament, comprising the eight qualifying teams, will now be split between Oman and UAE," the ICC said in a statement.
"Four of these teams will then progress to the Super 12s round where they'll join the eight automatic qualifiers."
The matches in the UAE will be played in Dubai, Abu Dhabi and Sharjah, while the Oman Cricket Academy Ground is the fourth venue.
Bangladesh, Sri Lanka, Ireland, Netherlands, Scotland, Namibia, Oman and Papua New Guinea will vie to grab the four spots and join the top eight teams in the Supers 12s stage.
"Whilst we are incredibly disappointed not to be hosting the event in India, the decision gives us the certainty we need to stage the event in a country that is a proven international host of multi-team events in a bio-secure environment," said ICC acting CEO Geoff Allardice.
The UAE hosted the entire 2020 edition of the Indian Premier League and will also be the venue for the final phase of this year's IPL which was suspended last month due to the COVID-19 crisis in India. Abu Dhabi hosted the final leg of this year's Pakistan Super League.
India's BCCI cricket board had said on Monday that the 16-team tournament would be shifted to the UAE. Despite the venue switch, the BCCI will remain the official host for the World Cup, which will culminate on Nov. 14.
The ICC did not give full details of the fixtures.
"We would have been happier hosting it in India but considering the uncertainty due to the COVID-19 situation and the importance of a world championship, the BCCI will now continue to host this tournament in UAE and Oman," BCCI president Sourav Ganguly said.
West Indies are the defending champions.