Claro:
$ bash -c 'for ((i=0;i<10;i++)); do echo $i; ((i++)); done'
0
2
4
6
8
No for ((expr1; expr2; expr3) , expr2 (e expr3 , se expr2 não falharam) são avaliados cada vez que o loop é executado. Com a outra forma, o bash inicia o loop após words ter sido expandido (isso inclui a execução de substituição de comandos, globbing, etc.). Portanto, você não pode afetar os possíveis valores da variável de iteração ( name ) depois que o loop for iniciado. Você pode, claro:
$ bash -c 'for i; do echo $i; break; done' _ a b c
a