Если вы хотите изменить поведение при создании командной строки для запуска программы, это невозможно изнутри программы. В этот момент ваша программа еще не запущена, поэтому интерпретировать [TAB] в этой точке полностью зависит от оболочки.
Когда ваша программа запущена, вы, конечно, можете обрабатывать [TAB] любым удобным для вас способом, используя соответствующий вызов API.