Seu problema é que bash está interpretando o ponto de exclamação. Escapando isso com uma barra invertida infelizmente não funciona. Coloque-o em outra variável, ou coloque-o entre aspas simples, mantendo a variável entre aspas duplas, e tudo ficará bem. . .
$ ARG="mytest"
$ echo "hello $ARG!"
bash: !": event not found
$ # didn't work
$ echo "hello $ARG\!"
hello mytest\!
$ # didn't work either!
$ echo "hello $ARG"'!'
hello mytest!
$ # that's better
$ E='!'
$ echo "hello $ARG$E"
hello mytest!
$ I like this one best.