С точки зрения bash (т.е. игнорирование ответа @ dtmilano, который вполне может быть на 100% правильным)
Вам не нужно делать
firefox $(echo "$file_path") &
Просто
firefox "$file_path" &
Когда я попробовал это в простом скрипте, мне не понравилось, что 2-й вызов firfox слишком близок к первому - ему потребовалось несколько секунд между ними, чтобы 2-й файл не получил ошибку.
Если вам не нужен вывод firefox, вы можете направить его в / dev / null
firefox "$file_path" > /dev/null &