Michael Schröpl: CGI für C

Beitrag lesen

und die Parameter liest du von STDIN ...
unn hier haste Probleme. Probleme der Art, wie Du einem C-Programm beibringst, einen Paramter der Form des Aufrufes in HTML oder Javascript "...name.exe?x=abc&y=def.." als Parameter bzw. als Programmaufruf zu interpretieren.

Das mußt Du dem C-Programm nicht "beibringen".

Es ist der Webserver, der je nach Modus (GET bzw. POST) die Parameter (URL-encoded bzw. wasauchimmer bei POST) isoliert (diese Modus bekommt er als Angabe im HTTP-Header übergeben) und dem aufgerufenen CGI-Programm via Environment bzw. stdin anbietet.
Mit der URL-Codierung der Sonderzeichen muß sich allerdings das C-Programm befassen (dafür schreibt man sich halt eine Funktion oder sucht im WWW danach).

C erwartet von der STDIN doch "name.exe para1.value para2.value ...".

C "erwartet" gar nichts.
Es würde die in dieser Form übergebenen Parameter in der Tat nach argv[] schreiben, das ist aber keineswegs die einzige Möglichkeit, einem C-Programm Werte zu übergeben.

Wenn Du das C-Programm nicht über eine Form aufrufst, so steht Dir die ENV-Variable fürs C-Programm nicht zur Verfügung!
Wie gehst Du dann vor?

Eine "ENV-Variable" gibt es nicht.

Das Environment besteht vielmehr aus beliebig vielen Variablen, und auch in C gibt es Bibliotheksfunktionen, das Environment zu lesen und sogar zu verändern.
(Was mit CGI übrigens gar nichts zu tun hat - das Environment ist einfach ein Konzept der entsprechenden Betriebssysteme und existiert gleichermaßen in Windows wie in UNIX.)