When I invoke powershell with the -c command line parameter and a write-output "foo bar" command, the words are printed on separate lines:
PS> powershell -c 'write-output "foo bar"'
foo
bar
When I execute the following line, it prints both words on the same line, which is what I expected for the above command as well:
powershell -c 'cmd /c echo foo bar'
foo bar
I don't understand what makes the word printed on separate lines.
-Command: "but in the end PowerShell simply joins them together with spaces, after having stripped (unescaped) double quotes on Windows, before interpreting the resulting string as PowerShell code". You would just need to double down on the double quotes on your first example.