Um problema é que '$1'
não expandirá a variável. Você realmente pretende passar um sinal de dólar literal? Se não, você deve escrever "$1"
entre aspas duplas.
Isso é suportado pelo seu segundo exemplo, no qual você passa valores reais e funciona.