According to the documentation for Copying multiple source tables: "Source tables must be specified as a comma-separated list."
Therefore I can suggest you 3 alternatives:
First: In case your partitioned tables contains a column with the partition date, you can create a bq command to select the partition dates you want, save the list in a file and execute it with a bash command. Therefore, you would be able to append all the tables to the desired destination table. The syntax would be as the following:
bq query --format=csv --nouse_legacy_sql '
SELECT
CONCAT('bq cp -a <sourceproj>:<dataset>.<table>$', partition_name, ' <testproj>:<dataset>.Partitioned_Destination_Table')
FROM (
SELECT
DISTINCT FORMAT_DATETIME('%Y%m%d',
CAST(_PARTITIONDATE AS datetime)) partition_name
FROM
`<sourceproj>.<dataset>.<table>`
WHERE
_PARTITIONTIME >= "start_date"
AND _PARTITIONTIME < "end_date")' > output.csv
Then, execute the file with all the bq copy commands.
bash output.csv
You can read more about bq command lines here.
Second: In the shell script make a list of all timestamps partitions and query then, appending each table in a already created partitioned destination table. The syntax would be:
tables=("20200107" "20200106" "20200105" "20200104")
for val in ${tables[*]}; do
bq cp -a <project1>:<dataset1>.<table1_$val> <project2>:<dataset2>.<Partitioned_Destination_Table>
done
Third: If your data set contains only the tables you want to copy, you can copy a the whole dataset, you can read more about it here, it would be as the following:
bq mk --transfer_config --project_id=[PROJECT_ID] --data_source=[DATA_SOURCE] --target_dataset=[DATASET] --display_name=[NAME] --params='[PARAMETERS]'
I hope it helps.