Skoro masz dokładną ścieżkę, a potrzebujesz rozszerzenie, to jest to kwestia obróbki stringa i wycięcia z odpowiedniej części.
Jednak problem jest taki, że Linux tak na prawdę olewa rozszerzenia. Ogromna większość aplikacji i środowisk graficznych używa nagłówków pliku do rozpoznania jego typu.
I jest to rozsądne działanie. Możesz mieć plik o nazwie "plik", a system i tak powie ci czy jest to film, dokument czy jeszcze coś innego. A w windowsie możesz wtedy wziąć hexedytor i pozgadywać.
Rozszerzenie to kiepski hack DOSa, bo programiści w ms nie umieli inaczej oznaczyć plików wykonywalnych (.com, .exe, potem .bat) - w Linuksie do tego służy atrybut wykonywalności. Owszem - warto je dodawać, ale głupotą jest na nich polegać.