You asked "How do I concatenate them?" - and the answer is, quite simply, with
cat - concatenate files and print on the standard output
cat [OPTION]... [FILE]...
Concatenate FILE(s), or standard input, to standard output.
Note in particular that its inputs can include standard input, not just files. So for example, you can:
mix standard input and files
echo "new text" | cat - oldfile > newfile
mix standard input and process substitutions
echo "new text" | cat - <(some_command oldfile) > newfile
echo "new header" | cat - <(dd if=oldfile bs=1 skip=$header_size) > newfile
Alternatively, you could use a here document and embed the command output using command substitution - that's probably a better option if your replacement text consists of more than a single line e.g.
$ cat > newfile << EOF
$(dd if=oldfile bs=1 skip=$header_size)