India's parliament has approved a controversial law that would allow children to work for family businesses, despite widespread concern by the UN and other rights advocates that it will push more minors into labour.

The measure, approved on Tuesday, brings several changes to a three-decade-old child labour prohibition law. The bill now goes for the president's assent before becoming law.

The UN Children's Agency (UNICEF) as well as many others have raised alarm over two particular amendments - permitting children to work for their families and reducing the number of banned professions for adolescents.

A 2015 report by the International Labour Organization put the number of child workers in India ages five to 17 at 5.7 million, out of 168 million globally.

UNICEF estimates that there are 28 million child labourers in India.

More than half of India's child workers are employed in agriculture and more than a quarter in manufacturing - embroidering clothes, weaving carpets or making matchsticks.

Children also work in restaurants, shops and hotels and as domestic workers.

The new legislation extends a ban on child labour under 14 to all sectors.

Previously, only 18 hazardous occupations and 65 processes such as mining, gem cutting and cement manufacturing were outlawed.

It also stiffens penalties for those employing children, doubling jail terms to two years and increasing fines to 50,000 rupees ($740) from 20,000 rupees ($300).

READ MORE: The Lost Boys of India’s Meghalaya State

While child rights groups have welcomed such changes, there has been concern over other amendments proposed by the government of Narendra Modi, the Indian prime minister.

For example, children will be allowed to work in family businesses, outside school hours and during holidays, and in entertainment and sports if it does not affect their education.

Also, children aged 15 to 18 will be permitted to work, except in mines and industries where they would be exposed to inflammable substances and hazardous processes.

The government says the exemptions aim to strike a balance between education and India's economic reality, in which parents rely on children to help with farming or artisanal work to fight poverty or pass on a family trade.

"The purpose of this very act is that we should be able to practically implement it," Bandaru Dattatreya, India's labour and employment minister, told parliament. "That's why we are giving some exemptions."

UNICEF had urged India to exclude family work from the proposed law and include an "exhaustive list" of hazardous occupations.

"To strengthen the bill and provide a protective legal framework for children, UNICEF India strongly recommends the removal of 'children helping in family enterprises'," it said in a statement on Monday.

"This will protect children from being exploited in invisible forms of work, from trafficking and from boys and girls dropping out of school due to long hours of work," it said.