В вашем аргументе file=e2e.sh
вы пропускаете @ , чтобы curl знал, что вы хотите передать файл.Следующее должно сделать трюк:
curl \
-F token="${SLACK_TOKEN}" \
-F file=@e2e.sh \
-F channel="${SLACK_CHANNEL}" \
-F as_user=true \
https://slack.com/api/files.upload
ps Если разбить длинный завиток на несколько строк, это поможет вам увидеть вещи более ясно;)