-
не анализируется оболочкой, это просто аргумент, который некоторые команды распознают как «чтение из стандартного ввода». Видимо, докер этого не делает.
Вам нужно использовать xargs для передачи идентификатора в качестве реального аргумента. Это должно работать:
docker ps | head -2 | grep -v CONTAINER | cut -d' ' -f1 | xargs -I '{}' docker exec -i -t '{}' bash