Persze, hogy 1 van, hiszen az argumentum magának a programnak a neve, helyesebben az a string, ahogyan hívtad. Egyébként miért ne lehetne egyfelől az stdin-ről, másfelől az argumentumból, mint file-ból olvasni? Helyesen:
cat tostdin.txt | program toargs.txt