An echo program, mostly in C and completely from scratch
Is my program's behavior fully compliant with the standard for echo?


Code does not process the string as in the OPERANDS section.  In particular:

Code does not support \c: "Suppress the &lt;newline&gt; that otherwise follows the final argument in the output. ..."


  Am I making any unwarranted assumptions that could make my code not work on a future release of Linux (or compiler)? In particular, are popping argc and the way I'm overwriting null terminators in argv values okay?


I see no trouble with argc.

Overwriting the null terminators in argv may/may not be OK, but is not needed.  I could foresee future restrictions.  Alternative: write the argv[i] and then the separator.


  Other issues


No comment.