The rickety boat overloaded with hundreds of migrants – some fleeing the civil war in Syria – capsized 65 miles south of the Italian island of Lampedusa on Friday.
At least 34 people died, while 202 survivors were taken to Malta and Sicily. Search operations continued on Sunday.
One survivor told Channel 4 News: “We were followed by a military boat with Libyan flag. They followed us for an hour. Then they asked the captain to stop and then started to shoot in the air.
“They were trying to turn the boat upside down. Then they started to shoot at the boat. They shot at the engine. They manage to hit 4 people as well.”
Maurizio Molina from the UN refugee agency said: “Because of the hole caused by the shooting…the water started entering into the boat, causing a lot of tension among the Syrians that were on board.
“At a certain point the ones that were (below), around 100 people, were obliged to go upstairs, creating this unbalancing and then at the end finally causing the capsize.”
The Prime Minister of Malta, Joseph Muscat, said he had put the allegations to Libya’s Prime Minister, Ali Zidan, at a meeting in Tripoli today.
Malta bears much of the burden of dealing with the frequent disasters involving migrants crossing the Mediterranean, and Mr Muscat has criticised the European Union for failing to help the small country.
He said his opposite number in Libya had promised a “public investigation” into the shooting allegations.