Under GNU/Linux and macOS, double-quote arguments before passing them to the
shell. In particular, this allows passing single-quotes within those arguments.
We therefore have to escape the four characters that are interpreted within
double-quoted strings in POSIX shells: \, ", $ and `
On Windows, also systematically escape the backslashes.
Also move display of arguments before escaping, so that it remains readable.
Ref. #1696