There is no need to pack and unpack the files using tar; cpio in pass-through mode will copy files based on a list that is either in a file or is generated by a program such as find.
If you install GNU cpio (cpio.tcz), then the following should work assuming each file path begins with "/"
cpio -pud /tmp/package </tmp/backup-name.lst
Busybox (or GNU) cpio will work if you remove the initial "/" from each file path and execute
( cd / ; cpio -pud /tmp/package </tmp/backup-name.lst )
(Busybox cpio's pass-through mode handling of paths beginning with "/" will be fixed in an upcoming release.)
Also, you need to be in directory /tmp when you invoke mksquashfs if you refer to the directory as "package".