Não sei ao certo por que está falhando quando o mesmo script funciona como esperado para mim.
sed.sh
1 #!/bin/bash
2 directory=$1
3 echo $directory
4 LC_CTYPE=C
5 sed -i.clean -f uncap-html.sed $directory/*.html
6 echo DONE
uncap-html.sed
[gc13@oc1245342277 sh]$ cat uncap-html.sed
s/z/o/g
[gc13@oc1245342277 sh]$
1.html
Hello
2.html
World
Execução
[gc13@oc1245342277 sh]$ cat *.html
Hellz
Wzrld
[gc13@oc1245342277 sh]$
Você pode tentar outra abordagem:
#!/bin/bash
FILES="$1/*.html"
echo $FILES
LC_CTYPE=C
sed -i.clean -f uncap-html.sed $FILES
echo DONE