To improve on jinowolski’s answer a bit, you should use:
curl http://example.com/script.sh | bash -s -- arg1 arg2
Notice the two dashes (–) which are telling bash to not process anything following it as arguments to bash.
This way it will work with any kind of arguments, e.g.:
curl -L http://bootstrap.saltstack.org | bash -s -- -M -N stable
This will of course work with any kind of input via stdin, not just curl, so you can confirm that it works with simple BASH script input via echo:
echo 'i=1; for a in $@; do echo "$i = $a"; i=$((i+1)); done' | \
bash -s -- -a1 -a2 -a3 --long some_text
Will give you the output
1 = -a1
2 = -a2
3 = -a3
4 = --long
5 = some_text