About a year or so ago the ffmpeg project changed their command argument requirements a bit, and one of the things they changed was to require -b and -ab to be in bits. This is why most older examples are wrong. You can easily fix them by simply adding 'k' to the bitrate numbers; e.g. "-b 48k".
But now I don't understand. Your second post has nothing to do with the problem you expressed in the first. Did you manage to get the audio working? Was it just because of the inaccurate bitrate problem?
As for your script, you have to put quotes around the whole filename in order to ensure that it is read as a unit. This is true for the command line and also true for any $# outputs in the script itself. So simply put quotes around the "$1" entries.
Code:
#!/bin/bash
ffmpeg -i "$1".flv -ab 128000 -ar 44100 -b 200000 -s 640x480 -ac 2 -acodec libmp3lame "$1".mpg
That should let it work. Though to tell the truth, it's good practice to avoid spaces and illegal characters in filenames anyway. They're such a headache to work around. I personally try to keep most of my files in lower-case, with spaces changed to underscores and odd characters kept to a minimum. It saves me a lot of hassle that way.