May I suggest you take some time to understand the concurrency and memory management parts of Rust a little more to figure out where your program is falling.
I agree it's not an easy language to pickup, but the use case you mentioned is a pretty common one and there are several ways to solve it. For example, any kind of config reading from a file needs it. Similarly, connection pools for DB etc are shared this way so its not an uncommon use case in day to day usage of Rust.