Yes, you need to supply the offset. You can use parted to find the correct offset. I've created a 10MiB image (drive.img) with two 3MiB partitions to use as an example; let's mount the second partition.
Code:
$ parted drive.img unit B print
WARNING: You are not superuser. Watch out for permissions.
Disk /tmp/drive.img: 10485759B
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 16384B 3014655B 2998272B primary ext2
2 3014656B 6029311B 3014656B primary ext2
$ sudo mount -o loop,offset=3014656B drive.img /tmp/mnt
$ ls /tmp/mnt
lost+found
Bookmarks