Witnesses said the man holding a gun shouted slogans against the protesters near Jamia Millia Islamia University, before firing at them.
“The police stood nearby,” Ahmed Zahir, a witness, told Reuters.
A Reuters photograph showed the man, dressed in a black jacket and brandishing a single-barrel weapon, standing metres away from dozens of policemen outside the university, where more than 1,000 protesters had gathered for a march.
Police later said they had detained the suspected gunman but gave no details.
Protests against the Citizenship Amendment Act, which fast-tracks Indian citizenship for non-Muslim minorities from three neighbouring countries, have flared since last December.
Some of the biggest protests have taken place near the university, which police stormed in December. On Thursday, police barricaded the road outside the university.
A group of students, most of them women, were holding a sit-in near the barricade after they were stopped from marching to a memorial for independence leader Mahatma Gandhi on the anniversary of his assassination in 1948.
Prime Minister Narendra Modi’s government insists the citizenship law is needed to help members of persecuted religious minorities who fled to India before 2015 from Muslim-majority Afghanistan, Bangladesh and Pakistan.
But protesters say the law, and a proposed national register for citizens, discriminates against Muslims and violates India’s secular constitution.
In recent days, leaders from Modi’s ruling Bharatiya Janata Party (BJP) have called for action against the protesters, who they term unpatriotic.
This week, India’s junior finance minister Anurag Thakur encouraged supporters at a state election rally in New Delhi to chant slogans calling for traitors to be shot, drawing a reprimand from the election commission. (Additional reporting by Aftab Ahmed; Writing by Devjyot Ghoshal and Sanjeev Miglani; editing by John Stonestreet and Gareth Jones)