somecmdというアプリケーションがあったとして
Usage: somecmd [--option] <file>...
こういう出力を
printf("Usage: %s [--option] <file>...\n", argv[0]);
まあこういう感じ(もうちょっと変数やらをはさむかも知れんが)で出力するときに
argv[0]がsomecmdじゃない場合がけっこうあるってことじゃないの?
そしてそういう場合にUsage: ...の形式が壊れるんじゃないか,と。