Seu shell está expandindo as coisas muito cedo.
O $LOGNAME tem um ( ? Ou o conteúdo de /tmp/$LOGNAME/List ?
O Bash expandirá $HOME e $LOGNAME antes de serem passados para su - quando su tentar passá-los para sh ou bash , eles possuem tokens impróprios.