Police say Jesus Valverde drove around the school bus stop arm and hit the boy while he was crossing the street to get to the bus.
Witnesses said the boy was dragged a few feet and then went airborne.
Police said the injuries to the child do not appear to be life-threatening.
Witnesses said Valverde got out of his car after hitting the child and said, "Oh my God," and then went back to his truck.
Valverde was charged with passing a stopped school bus and driving without a South Carolina driver's license, police said.
People on the scene said the child is a fourth-grader at Sara Collins Elementary. Police said he is 10 years old.
Witnesses told News 4 that the boy's sister was already on the bus when her brother was hit.
The child was taken to Greenville Memorial.
A Greenville County school spokesman said another bus is taking students to their schools. The spokesman said counselors have been alerted and are on hand.