Короче, сжимается и сохраняется файл как (pic-fs8) нормально. Чего там должна возвращать shell_exec в данном случае, я не знаю.
Я бы, на твоём месте, ориентировался на появление выходного файла -fs8, наврятли файл появится при ошибке, а экзепшены и return из функции убрал.