Eu não acho que haja uma maneira de limpar o stdin, mas (com o bash) você pode ler e descartar o que está lá antes de pedir a entrada
#do some time consuming task here
read -t 1 -n 10000 discard
read -p "Give me some input: " input
Isto lê stdin e tem um timeout de 1 segundo, mas falha se houver mais de 10000 caracteres em stdin. Eu não sei o quão grande você pode fazer o parâmetro nchars.