I assume you are using Bash in your console. Your issue is not related to C, rather than how does Bash process strings. According to man:
Enclosing characters in double quotes preserves the literal value of all characters within the quotes, with the exception of $, `, \, and, when history expansion is enabled, !. When the shell is in posix mode, the ! has no special meaning within double quotes, even when history expansion is enabled. The characters $ and ` retain their special meaning within double quotes. The backslash retains its special meaning only when followed by one of the following characters: $, `, ", \, or newline. A double quote may be quoted within double quotes by preceding it with a backslash. If enabled, history expansion will be performed unless an ! appearing in double quotes is escaped using a backslash. The backslash preceding the ! is not removed.
So in Bash both "\a" and "\\a" are treated the same as "\a". If you want to have four backslashes in double quotes you will need to write 8 of them. Try echo "\\\\\\\\"
\abcas output, not\\vabc.argvarray. Try something likeprintf '>>%s<<\n' "$@"at your shell prompt (or put it in a script file with a suitable shebang).