sqlplus removes extra whitespace
It isn't SQL*Plus doing that, it's the shell. You need to enclose your variable in quotes:
To preserve whitespace within a string or in a variable, use quoting.
So instead of
echo ${sql_out}
do either of these:
echo "${sql_out}"printf "%s\n" "${sql_out}"
and the output will then be:
aaaa vvvv cccc