Ну, вот первые несколько проблем, которые у вас есть.
Похоже, вы предполагаете, что почтовый клиент будет обрабатывать uuencode-вложения без заголовков. Этого не произойдет.
Вы неправильно используете перенаправление ввода / вывода: выходные данные uuencode и документ здесь передаются в mailx, чего не может быть.
Вы неправильно используете uuencode: если задан один путь, это просто имя, чтобы дать декодированный файл, а не имя входного файла. Если дважды указать файл, то декодированному файлу будет присвоено то же имя, что и тому, который был прочитан. Флаг -m заставляет base64 кодировать. Но это все равно не предоставит заголовки вложений для mailx.
Вам лучше получить копию mpack, которая будет делать то, что вы хотите.
Если вы должны это сделать, вы можете сделать что-то вроде этого:
cat <<EOF | ( cat -; uuencode -m /path/to/somefile.csv /path/to/somefile.csv; ) | mailx -s "$subject" "$to"
place your message from the here block in your example here
EOF
Есть много других возможностей ... но у этого все еще есть документ здесь
как в вашем примере, и это было легко с моей головы, и там нет временного файла.