Теоретически это должно работать. Практически в большинстве случаев это проблема передачи параметров из оболочки в Java-приложение. Попробуйте убедиться, что это работает правильно: запустите приложение из командной строки точно так же, как вы делаете, но с удаленной отладкой. Создайте точку останова в своем коде, где вы читаете параметр и посмотрите, каково значение. Я считаю, что на этом этапе значение искажается. Это типичная проблема, если вы находитесь на окнах.
В этом случае вам необходимо правильно настроить систему на поддержку символов Юникода в командной строке.
Если путь прочитан правильно из командной строки, попробуйте продолжить отладку и посмотрите, где он поврежден. Проверьте, какой разделитель вы используете. Избегайте использования обоих / и \, вместо этого используйте File.separator.