Les noms de fichiers sont notoirement peu fiables dans les chaînes étendues ; résistez à cette tentation.
Utilisez plutôt un tableau pour conserver les noms de fichiers intacts, quels que soient les espaces :
arr=()
for f in $somedir/*.pdf
do
arr+=( -a "$f")
done
# and for usage/display:
mutt -s mysubject "${a[@]}" [email protected]
Voir le Guide Bash sur les tableaux pour référence.