No terminal pra entrar com nomes de arquivos com espaço, eu digito o nome dele entre aspas, ex.: "nome do arquivo.mp3".
Não sou muito familiarizado com scripts, mas será que funciona assim:
...
lame -b 128 --mp3input "$i" ${i%.mp3}-128.mp3
...
de maneira que o nome do arquivo saia entre aspas.
Abraço.