I have 2 threads, a global std::vector<std::string> and a std::shared_timed_mutex

In thread 1, I continuously do the following:

//1.I take the mutex in exclusive mode(.lock())
//2. delete a given value from the vector.
//3. Release the lock.

In thread 2, I continuously do the following:

//1. take mutex in shared mode.
//2. Copy the global vector into a local vector 
//3. Release the mutex
//4. Run std::find to check whether a given value exists in the local vector.

Can there be a data race here? 

I use gcc version 9.