using mogrify on lot of images gives error

Actually, the answer is surprisingly simple. Rather than having the shell expand the argument list (which it cannot cope with), let ImageMagick expand the list itself internally, by protecting the arguments from the shell with single quotes.

So, your command becomes:

mogrify -resize 100x100 '*.jpg'

If the built-in glob expression does not work for you (eg. special file ordering), you may also use the special character '@':

mogrify -resize 100x100 @my_jpegs.txt

find or xargs come to mind, eg.

find . -name \*.jpg -exec mogrify '{}' -resize 100x100 \;

Cheers,