ciao!

con exec() / shell_exec() che problemi hai riscontrato?

cmq anche la soluzione json potrebbe non essere male.
costruisci il json dal programma C, e poi lo recuperi da PHP (o anche tramite ajax volendo).