Как создать новый раздел на весь диск?
echo -e "label:mbr\nstart=1M" | sfdisk /dev/sdb
создаст таблицу разделов mbr на диске /dev/sdb с одним разделом на весь диск у которого начальное смещение составляет 1M

другой пример
echo -e "label:gpt\nsize=100M\nsize=+" | sfdisk /dev/sdb
здесь мы создаём таблицу разделов gpt и два раздела, один на 100M а второй на всё оставшееся место.

если нужно ресайзить уже готовые разделы то глянь здесь где всё доходчиво написанно
но а вообще смотри ман
и кстати у sfdisk, fdisk и cfdisk общая поддержка создания сценария что иногда бывает довольно удобно, смотри (s)fdisk scripts 

п.с.
sfdisk довольно недооценённая утилита в которую если вникнуть позволяет творить чудеса

Диск должен быть разбит на 4 раздела. 3 я создаю из дампа sfdisk. Нужно создать еще один. Последний. На все оставшееся место. 
всё очень просто:
echo -e "size=+" | sfdisk -N 4 /dev/sdb

вот небольшой пример
$ truncate -s 1G disk.img
$ echo -e "label:mbr\nsize=100M\nsize=200M\nsize=300M" | sfdisk disk.img
$ sfdisk --dump disk.img
label: dos
label-id: 0x58b01c8a
device: disk.img
unit: sectors
sector-size: 512

disk.img1 : start=        2048, size=      204800, type=83
disk.img2 : start=      206848, size=      409600, type=83
disk.img3 : start=      616448, size=      614400, type=83

$ echo -e "size=+" | sfdisk -N 4 disk.img
$ sfdisk --dump disk.img
label: dos
label-id: 0x58b01c8a
device: disk.img
unit: sectors
sector-size: 512

disk.img1 : start=        2048, size=      204800, type=83
disk.img2 : start=      206848, size=      409600, type=83
disk.img3 : start=      616448, size=      614400, type=83
disk.img4 : start=     1230848, size=      866304, type=83
Пример создания 2х разделов на пустом диске
parted /dev/sda mklabel gpt
parted /dev/sda mkpart p1 1M 500M
parted /dev/sda mkpart p2 500M 100%