Você tem que colocar $var
em apóstrofos duplos também no comando awk
, então:
varName="a string with spaces"
awk -v var="$var" '{...your awk code...}'
É porque o comando awk será chamado por um shell, e a maioria dos shells, incluindo o bash, esquece os tokens após a substituição da variável.