Ive seen many variations, very confused on how to solve these 3 problems.
With awk:
# delete line 1
awk 'NR == 1 {next} {print}' file
# delete line number stored in shell variable $n
awk -v n=$n 'NR == n {next} {print}' file
# delete between lines $a and $b inclusive
awk -v m=$a -v n=$b 'm <= NR && NR <= n {next} {print}' file
To save a few chars, {print} can be replaced just with 1
To overwrite the original file, you have to do something like this
awk '...' file > tmpfile && mv tmpfile file