なんだかどうも、プログラムの引数に「=」の文字を入れると動作がおかしいのです。

というのは、
たとえば Perl の CGI で
 test.cgi?a=5
とすれば、$ENV{'QUERY_STRING'} の中身は "a=5" になるのに、

C で作った CGI (printfするだけのモノ) だと
 test.cgi?a=5
としても、main(int argc,char *argv[]) の argc が 1 で引数が受け取れてないのです。
test.cgi?a5
とすれば、argc は 2 になって、argv[1] の中身が "a5" になるのですが。

そういうわけで引数に「=」を使えない理由と対処をキボン願います。