Why? the assignment is after the start of the command, so is not an assignment, and with the correction of Erik, now rc admit the use of = after the first word (in the first would be an assignment), so two=2 is just an argument to echo, exactly 'two='2.
I like this behavior. trebol > Given > >> broken! one=1 two=2 echo $one $two >> >> 1 2 > > What should the following do? > > one=1 echo two=2 $one $two > > Disregarding a UNIX historical mistake, I'd expect > 1 2