Dodam tylko, że nazwa pliku może zawierać spacje. Wystarczy wywołać skrypt w ten sposób:
./nowy "nazwa pliku"
W zmiennej $1 będzie ciąg znaków "nazwa pliku". Jednak wtedy polecenia touch i chmod powinny wyglądać tak:
TOUCH='touch "$1"'
CHMOD='chmod 777 "$1"'
Zawsze dobrze jest w poleceniu zamknąć parametr w "", bo nigdy nie wiesz co user wpisze, a ty założyłeś w skrypcie, że ma być to jeden parametr, a nie wiele rozdzielonych spacjami.
Jeszcze jedna uwaga:
elif [ -a `pwd`/$1 ]; then
Nie potrzebnie używasz `pwd`. Jeżeli parametr będzie tylko nazwą pliku, to automatycznie odniesie się do aktualnego katalogu. Natomiast jeżeli użytkownik poda jako parametr całą ścieżkę do pliku (np: "/home/user/plik.txt"), to skrypt zadziała źle.