Use the set
builtin and shell parameter expansion:
set -- "${@:1:1}" "${@:3}"
would remove the second positonal argument.
You could make it generic by using a variable:
n=2 # This variable denotes the nth argument to be removed
set -- "${@:1:n-1}" "${@:n+1}"