Esse é o comportamento padrão de cp
. Então, tudo que você precisa fazer é uma recursiva regular cp
:
cp -r Folder-A/* Folder-B/
Para demonstrar:
$ tree
.
├── Folder-A
│ ├── File-1
│ ├── File-2
│ ├── File-4
│ ├── Folder-A-1
│ │ ├── File-5
│ │ └── File-6
│ └── Folder-A-2
│ └── File-7
└── Folder-B
├── File-1
├── File-2
├── File-3
└── Folder-A-1
└── File-5
$ cp -r Folder-A/* Folder-B
$ tree
.
├── Folder-A
│ ├── File-1
│ ├── File-2
│ ├── File-4
│ ├── Folder-A-1
│ │ ├── File-5
│ │ └── File-6
│ └── Folder-A-2
│ └── File-7
└── Folder-B
├── File-1
├── File-2
├── File-3
├── File-4
├── Folder-A-1
│ ├── File-5
│ └── File-6
└── Folder-A-2
└── File-7