То, что я хочу, - это функция, которую я могу вызывать из программы, поэтому она завершает способ, которым bash предоставил командную строку и место, где была нажата TAB.
. /etc/bash_completion
generate_completions "command arg1 arg2" 17
будет возвращать то же самое, что и
command arg1 arg2[TAB]
Я не видел никакого способа сделать это.