I've just tried it and it works as should.
This is on 8 cpus system:
fire-ovz1 ~ # cset set --cpu=6 --set=blah
cset: --> created cpuset "blah"
fire-ovz1 ~ # cset proc --list blah
cset: "blah" cpuset of: 6 cpu, with: 0 tasks running
fire-ovz1 ~ # cset proc --set=blah --exec vzctl start 103
cset: 1 tasks match criteria
cset: --> last message, executed args into cpuset "/blah", new pid is: 5842
Starting VE ...
VE is mounted
Setting CPU units: 100000
Configure meminfo: 2460180
Configure veth devices: veth103.0
VE start in progress...
fire-ovz1 ~ # cset proc --list blah
cset: "blah" cpuset of: 6 cpu, with: 8 tasks running
USER PID PPID S TASK NAME
-------- ----- ----- - ---------
root 5855 1 S init [3]
root 5936 5855 S /sbin/udevd --daemon
root 6180 5855 S /sbin/rc default
root 6190 5855 S /usr/sbin/syslog-ng
root 6201 5855 S /usr/sbin/atd
root 6204 6180 S /sbin/runscript /etc/init.d/net.eth0 start
root 6205 6204 S /bin/sh /lib64/rc/sh/runscript.sh /etc/init.d/net.eth
root 6264 6205 S dhcpcd -H -C resolv.conf -C ntp.conf -C yp.conf -G -h
fire-ovz1 ~ #