The bug is that do_execution gave wcscpy overlapping regions, which
has implementation defined behavior. On GNU/Linux, this resulted in
weird behavior when the text typed into the commander has backslashes.
The fix to not use wcscpy, but instead perform that logic in do_execution.
The code was also reworked not to modify the given string, but to perform
the backslashing on a separate buffer. It uses make_strnode_no_copy so that
this change didn't result in an extra copy, only where the copy happens.