Updating a shelved changelist from another workspace is pretty easy; just reshelve.
To update a shelved change that belongs to another user the change will first need to be transferred to you via p4 change -U
. (See How do I find the creator of a Perforce changelist?)
Another option is to make your own shelved changelist based on that one; unshelve in your workspace to a new changelist, make your own changes, then reshelve your new changelist. The main downside of this approach is that the relationship between your shelved change and the original shelved change is not obvious.
If a change is complex enough to require multiple contributors and versioning of its iterations, I'd recommend using a branch instead of a shelf.