The shooting happened just before 5 p.m. Friday inside the Walmart at 1511 Benvenue Road.
Saturday morning, police said Jaylen Knight, 21, and Darius Williams, 19, were both charged with assault with a deadly weapon infliction serious injury with intent to kill. The third suspect was released on a juvenile petition to his parents.
Rocky Mount police have warrants out for Akavius Knight, 20, for assault with a deadly weapon inflicting serious injury.
At the time of the shooting, the Nash County Sheriff's Office said it was a result of a fight between the shooter and the victim.
Marie Melvin, who was shopping when the shooting happened, said he heard two shots go off before people began to leave the store.
"I think everybody realized what was happening and they calmly, not running, running but a slow run to get out of the store," Melvin said.
The 34-year-old shooting victim is being treated at Nash UNC Health Care.
Knight has a $75,000 bond and Williams has a $50,000 bond.