As long as there aren't outrageously many lines to be deleted and you aren't working on a system with a woefully limited version of sed (at one time, sed on HP-UX was limited to about 100 commands), then you can use:
sed 's/$/d/' linenum.txt | sed -f - file.txt
This uses the first sed to convert the line numbers into delete commands (note that part of your trouble was a stray unwanted slash) and then tells the second sed to read its script from standard input (-f -) and apply it to file.txt.
The above works with GNU sed; it did not work with BSD sed on Mac OS X 10.7.5 (sed: -: No such file or directory). Test it before using it on your system.
Of course, if you've got a sufficiently recent version of bash (works with bash 4.2 but not with 3.2), then you can use 'process substitution' to work around the limitation of sed:
sed -f <(sed 's/$/d/' linenum.txt) file.txt
If that doesn't work either, you can write the output of the first sed command to a file and then use that (temporary) file as the name for the sed script. So, there are lots of ways to do it. However, anything over 3 processes (two runs of sed and one of rm) is extravagant. It's probably not a problem if you only need to do it once, but it could be an issue if you've got to do it many times a minute.