Предполагая, что в Linux файлы имеют смешанный регистр, простого ответа на этот вопрос не существует.
Лучшее, что я могу придумать, - это иметь в своем приложении список соответствующих каталогов и создать в памяти структуру данных реальных имен файлов Linux. Затем, чтобы открыть файл без учета регистра, вы разделяете имя пути на компоненты, ищите дерево в памяти с помощью поиска без учета регистра, составляете реальное (с учетом регистра) имя пути и используете THAT, чтобы открыть файл.
Проблема в том, что оно (и, действительно, ваше приложение) не может справиться со случаем, когда у вас есть (скажем) "foo.txt" И "Foo.txt" в одном каталоге Linux.
Но лучшее решение - изменить приложение так, чтобы оно работало с именами путей с учетом регистра.